////////////////////////////////////////////////////////////////////////////////////
//                                                                                                                                //
//                      Single Linked List's NO.1 substitute find, insert, delete, functions' implemention code                //
//                                                                                                                                //
//                                                                                                                                //
//                                      Author:    Jack Hui (huiguobin)                                                 //
//                                                                                                                                //
//                                                                                                                                //
////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////Header File/////////////////////////////////////////////

#include <assert.h>
#include <stdlib.h>
#include <stdio.h>



/*Single Linked List structure*/
typedef struct node
{
	int number;
	float score;
	struct node *link;
}LinkedNode, *LinkList;
 
/*The following functions are for single list operation, the single list do not have a head node.
There is only a pointer points to the first node, at the end of the list, the last node's link
points to NULL.*/
LinkedNode *create_single_list(void);
void destory_single_list(LinkedNode *head);
void print_single_list(LinkedNode *head);
LinkedNode *delete_one_node_from_single_list(LinkedNode *head, int num);
LinkedNode * add_one_node_to_single_list(LinkedNode *head, LinkedNode *node);

